<?php


namespace App\Libraries\Warehouse\Contracts;


use Illuminate\Database\Eloquent\Model;

interface DockingBehavior
{
    /**
     * @param $data Model
     * @author luffyzhao@vip.126.com
     */
    public function __construct($data);

    /**
     * @return array
     * @author luffyzhao@vip.126.com
     */
    public function map(): array;

    /**
     * 获取 url
     * @return string
     * @author luffyzhao@vip.126.com
     */
    public function getUrl():string;

    /**
     * @return string
     * @author luffyzhao@vip.126.com
     */
    public function getCallName();

}